package cn.design.realize;

/**
 * @author dlq
 * @description 定义一个生产零件的组装抽象类
 * @date 2020/9/15 9:54
 * @since 1.0
 */
public abstract class ComputerBuilder {
    /**
     * 组装cpu
     */
    protected abstract void buildCpu();

    /**
     * 组装硬盘(hardDisk)
     */
    protected abstract void buildHardDisk();

    /**
     * 组装内存(memory)
     */
    protected abstract void buildMemory();

    /**
     * 获取最终的产品(memory)
     */
    public abstract ComputerProduct getComputerProduct();
}
